package com.falcon.domain.dos;

import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;

/** 代码生成-字段配置
* @author zongf
* @since 2024-03-17
*/
@Data
@Accessors(chain = true)
public class ColumnDO {

    /** 主键 */
    private Long id;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    /** 数据库名 */
    private String schemaName;

    /** 表名 */
    private String tableName;

    /** 表id */
    private Long tableId;

    /** 字段名 */
    private String columnName;

    /** 字段类型, 如 varchar, tinyint, datetime */
    private String columnType;

    /** 类型字符串,包含长度限制,格式为: varchar(255), tinyint(1),datetime... */
    private String columnFullType;

    /** 默认值 */
    private String columnDefault;

    /** 列注释 */
    private String columnComment;

    /** 字段顺序 */
    private Integer ordinalPosition;

    /** 字符串类型: 字符最大个数,不区分中英文 */
    private Long charMaxLength;

    /** 数字类型: 整数部分最大位数 */
    private Integer numMaxLength;

    /** 小数最大位数 */
    private Integer numScale;

    /** java 类型 */
    private String fieldType;

    /** 是否可为空 */
    private Boolean nullable;

    /** 是否是主键列 */
    private Boolean isPk;

    /** 是否是无符号类型 */
    private Boolean isUnsigned;

    /** 是否自增 */
    private Boolean autoIncrement;

    /** 创建时自动赋值 */
    private Boolean autoTimeOnCreate;

    /** 创建时自动赋值 */
    private Boolean autoTimeOnUpdate;

    /** 状态:0-新导入 */
    private Integer status;

    /** 字段名 */
    private String fieldName;

    /** 是否作为搜索条件 */
    private Boolean searchEnable;

    /** 查询类型: like、equals等 */
    private String searchType;

    /** 搜索组件类型 */
    private String searchComponent;

    /** 搜索-enter是否触发 */
    private Boolean searchEnterEnable;

    /** 字段展示标签 */
    private String searchLabel;

    /** 列表-是否展示 */
    private Boolean listEnable;

    /** 列表-展示标签 */
    private String listLabel;

    /** 列表-列宽 */
    private Double listWidth;

    /** 列表-对齐方式 */
    private String listAlign;

    /** 列表-组件 */
    private String listComponent;

    /** 列表-是否支持导出 */
    private Boolean listExportEnable;

    /** 列表-是否支持导入 */
    private Boolean listImportEnable;

    /** 列表-是否支持批量删除 */
    private Boolean listBatchDeleteEnable;

    /** 列表-是否显示序号 */
    private Boolean listShowIdx;

    /** 新增-是否展示 */
    private Boolean editInsertEnable;

    /** 修改-是否展示 */
    private Boolean editUpdateEnable;

    /** 修改-是否禁用 */
    private Boolean editUpdateDisable;

    /** 新增&修改-是否必填 */
    private Boolean editRequired;

    /** 编辑展示标签 */
    private String editLabel;

    /** 默认值 */
    private String editDefault;

    /** 搜索框宽度 */
    private Integer searchWidth;

}
